package com.guoyansoft.model.dao;

import com.guoyansoft.model.pojo.HistoricalOrders;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * author  刘耀诚
 * 订单表dao接口
 */
@Mapper
public interface HistoricalOrdersDao {

    /**
     * 新增历史订单信息
     * @param
     * @return 受影响的行数
     */
    int insert(HistoricalOrders historicalOrders);

    /**
     * 修改历史订单信息
     * @param historicalOrders 订单实体
     * @return 受影响的行数
     */
    int update(HistoricalOrders historicalOrders);

    /**
     * 删除历史订单信息
     * @param id 主键数组
     * @return 受影响的行数
     */
    int delete(Integer[] id);

    /**
     * 根据历史订单信息编号查找历史订单
     * @param no 订单编号
     * @return 订单实体
     */
    HistoricalOrders selectByNo(String no);

    /**
     * 分页展示历史订单
     * @param params 分页信息（startIndex,pageSize）
     * @return 订单实体集合
     */
    List<HistoricalOrders> selectByPage(Map<String,Object> params);

    /**
     * 总记录数
     * @param params 分页信息（startIndex,pageSize）
     * @return 订单实体集合
     */
    Long selectTotal(Map<String,Object> params);

    /**
     * 根据店铺名称查找历史订单
     * @param params 店铺名(storeName)、分页信息（startIndex,pageSize）
     * @return 订单实体集合
     */
//    List<HistoricalOrders> selectByStoreName(Map<String,Object> params);

    /**
     * 根据商品名称查找历史订单
     * @param params 商品名（goodsName）、分页信息（startIndex,pageSize）
     * @return 订单实体集合
     */
//    List<HistoricalOrders> selectByGoodsName(Map<String,Object> params);

    /**
     * 根据订单状态查找历史订单
     * @param params 订单状态（state）、分页信息（startIndex,pageSize）
     * @return 订单实体集合
     */
//    List<HistoricalOrders> selectByState(Map<String,Object> params);

    /**
     * 根据配送员姓名查找历史订单
     * @param params 订单状态（courierName）、分页信息（startIndex,pageSize）
     * @return 订单实体集合
     */
//    List<HistoricalOrders> selectByCourierName(Map<String,Object> params);


    /**
     * 根据店铺名称查找历史订单
     * @param
     * @return
     */
    List<HistoricalOrders> selectByShopName(Map<String,Object> params);


    /**
     * 根据店铺名称查找年统计数据
     * @param params
     * @return
     */
    List<HistoricalOrders> selectByShopNameYear(Map<String,Object> params);


}
